//
//  Deck.h
//  PrefCore
//
//  Created by Sergey on 1/8/14.
//  Copyright (c) 2014 Play-on-smart. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "PSCard.h"

/// The number of cards in a deck.
#define PS_DECK_SIZE 32U

/// Represents a deck of 32 cards. This class is a singleton.
@interface PSDeck : NSObject

/// Obtains the shared instance of the deck.
+(instancetype)instance;

/// Gets a card from a deck identified by the card's index.
/// @param index The index of the card to get (0..31).
-(PSCard*)cardAtIndex:(PSCardIndex)index;

/// Shuffles the deck.
-(void)shuffle;

@end
